/* DISCLAIMER
Original file written by Johnny on Flame.
This piece is protected by the GPLv3 License. Commercial uses of this should only happen with my consent.
JohnnyonFlame (a_t) Hotmail (d_o_t) com
*/


#ifndef __settings_h__
#define __settings_h__

#define TYPE_INT 0
#define TYPE_INT8 1
#define TYPE_NSTRING 2
#define TYPE_FILE 3

#include "SDL/SDL.h"

#include <libxml/tree.h>

typedef struct {
	char* var;
	int type;
	void* setting;
	void* args;
} p_Ref;

extern int TTF_SIZE;
extern int TTF_SELECTED_SIZE;
extern int TTF_STATUS_SIZE;

extern int BATT_SPRITE_COUNT;
extern int BATT_SPRITE_WIDTH;
extern int BATT_SPRITE_HEIGHT;

extern SDL_Color TTF_COLOR;
extern SDL_Color TTF_STATUS_COLOR;
extern SDL_Color TTF_SELECTED_COLOR;

extern char *DEFAULT_BACKGROUND;
extern char *TTF_FONT;
extern char *TTF_SELECTED_FONT;
extern char *TTF_STATUS_FONT;
extern char *BATT_SPRITE;

p_Ref *findRefByName(char* label);
void listReferences();
void applySetting(xmlNodePtr node);

#endif //__settings_h__
